\documentclass[12pt,a4paper,oneside]{article}

\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage[russian]{olymp}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{epigraph}
\usepackage[russian]{hyperref}
\usepackage{color}
%\usepackage{expdlist}
%\usepackage{textpos}

\renewcommand{\t}{\texttt}
\renewcommand{\le}{\leqslant}
\renewcommand{\ge}{\geqslant}

\binoppenalty=10000
\relpenalty=10000
\exhyphenpenalty=10000

\newcommand{\ProblemLabel}{undefined}
\newcommand{\ProblemTL}{undefined}

\def\probl#1#2#3#4{
  \renewcommand{\ProblemLabel}{#3}
  \renewcommand{\ProblemTL}{#4}
  \input ../problems/#1/#2/statement/#2.tex
}
          
\newcommand{\Section}[1]{
  \hbox{\hspace{1em}}
  \vspace{1em}
  \section*{#1}
  \addcontentsline{toc}{section}{#1}
}

\contest
{Графы}%
{Казахстан, Астана}%
{19 октября 2013}%

\begin{document}

\tableofcontents
\pagebreak

\probl{2011-10}{cities}{A}{1 секунда}     % - [easy] посчитать число ребер по матрице смежности                                       
\probl{2011-10}{connect}{B}{1 секунда}    % - [dfs,easy] проверка, является ли граф связным (N <= 100)                                
\probl{2011-10}{tree}{C}{1 секунда}       % - [dfs,easy] является ли граф деревом (N <= 100)                                          
\probl{2011-10}{rootdist}{D}{1 секунда}   % - [dfs,easy] дано дерево с корнем, найти max удаленную от корня вершину (N <= 100)        
\probl{2011-10}{edges}{E}{1 секунда}      % - [dfs,easy] дополнить граф до связного. N <= 1000                                        
\probl{2011-10}{roomsquare}{F}{1 секунда} % - [dfs,easy] площадь компоненты связности на гриде 10x10                                  
\probl{2011-10}{catlover}{G}{1 секунда}   % - [easy] число треугольников в графе. N <= 1000, M <= 30 000.                             
\probl{2011-03}{connect}{H}{1 секунда}    % - [dfs] нахождние компонет связности (N <= 2*10^4, M <= 2*10^5)                           
\probl{2011-10}{dfsongrid}{I}{1 секунда}  % - [dfs] путь на гриде (любой). грид = 1000 x 1000.                                        
\probl{2011-10}{sumdist}{J}{1 секунда}    % - [bfs] N <= 1000, M <= 10 000, найти матрицу расстояний в невзвешенном графе             
\probl{2011-03}{bfsrev}{K}{1 секунда}     % - [bfs] bfs по обратным ребрам, (N и M до 10^5)                                           
\probl{2011-01}{roadwork}{L}{1 секунда}   % - [easy,fun] задача про "Дерево Ли". (1000 вершин, 10^5 операций удалить-добавить ребро)  
\probl{2011-10}{island}{M}{1 секунда}     % - 0-1 bfs                                                                                 
\probl{2011-10}{island2}{N}{1 секунда}    % - 0-1-2 bfs                                                                               
\probl{2011-10}{cycle}{O}{1 секунда}      % - [dfs] найти цикл в орграфе, N <= 100 000                                                
\probl{2011-10}{longpath}{P}{1 секунда}   % - [dfs, dp] самый длинный путь в невзвешенном графе без циклов (N <= 10 000, M <= 100 000)
\probl{2012-07}{shortest}{Q}{1 секунда}   % - bfs на графе 1000..2000 = bfs с 3-мя очередями                                          

\end{document}
